package com.zhentao.dataintegrity.domain.dto;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

public class SubtaskDetailDTO {

    private Long id;
    private String executionId;
    private Long taskId;
    private String dataType;
    private String dataTypeCode;
    private String executionStatus;
    private LocalDateTime startTime;
    private LocalDateTime endTime;
    private LocalDate dataRangeStart;
    private LocalDate dataRangeEnd;
    private Long originalCount;
    private Long processedCount;
    private BigDecimal originalRmbAmount;
    private BigDecimal processedRmbAmount;
    private BigDecimal originalUsdAmount;
    private BigDecimal processedUsdAmount;
    private BigDecimal diffRmbAmount;
    private BigDecimal diffUsdAmount;
    private String errorMessage;
    private String checkDetails;
    private LocalDateTime createdTime;

    // 扩展字段
    private String executionStatusText;
    private String dataRangeText;
    private String durationText;

    // Getters and Setters
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public String getExecutionId() { return executionId; }
    public void setExecutionId(String executionId) { this.executionId = executionId; }

    public Long getTaskId() { return taskId; }
    public void setTaskId(Long taskId) { this.taskId = taskId; }

    public String getDataType() { return dataType; }
    public void setDataType(String dataType) { this.dataType = dataType; }

    public String getDataTypeCode() { return dataTypeCode; }
    public void setDataTypeCode(String dataTypeCode) { this.dataTypeCode = dataTypeCode; }

    public String getExecutionStatus() { return executionStatus; }
    public void setExecutionStatus(String executionStatus) { this.executionStatus = executionStatus; }

    public LocalDateTime getStartTime() { return startTime; }
    public void setStartTime(LocalDateTime startTime) { this.startTime = startTime; }

    public LocalDateTime getEndTime() { return endTime; }
    public void setEndTime(LocalDateTime endTime) { this.endTime = endTime; }

    public LocalDate getDataRangeStart() { return dataRangeStart; }
    public void setDataRangeStart(LocalDate dataRangeStart) { this.dataRangeStart = dataRangeStart; }

    public LocalDate getDataRangeEnd() { return dataRangeEnd; }
    public void setDataRangeEnd(LocalDate dataRangeEnd) { this.dataRangeEnd = dataRangeEnd; }

    public Long getOriginalCount() { return originalCount; }
    public void setOriginalCount(Long originalCount) { this.originalCount = originalCount; }

    public Long getProcessedCount() { return processedCount; }
    public void setProcessedCount(Long processedCount) { this.processedCount = processedCount; }

    public BigDecimal getOriginalRmbAmount() { return originalRmbAmount; }
    public void setOriginalRmbAmount(BigDecimal originalRmbAmount) { this.originalRmbAmount = originalRmbAmount; }

    public BigDecimal getProcessedRmbAmount() { return processedRmbAmount; }
    public void setProcessedRmbAmount(BigDecimal processedRmbAmount) { this.processedRmbAmount = processedRmbAmount; }

    public BigDecimal getOriginalUsdAmount() { return originalUsdAmount; }
    public void setOriginalUsdAmount(BigDecimal originalUsdAmount) { this.originalUsdAmount = originalUsdAmount; }

    public BigDecimal getProcessedUsdAmount() { return processedUsdAmount; }
    public void setProcessedUsdAmount(BigDecimal processedUsdAmount) { this.processedUsdAmount = processedUsdAmount; }

    public BigDecimal getDiffRmbAmount() { return diffRmbAmount; }
    public void setDiffRmbAmount(BigDecimal diffRmbAmount) { this.diffRmbAmount = diffRmbAmount; }

    public BigDecimal getDiffUsdAmount() { return diffUsdAmount; }
    public void setDiffUsdAmount(BigDecimal diffUsdAmount) { this.diffUsdAmount = diffUsdAmount; }

    public String getErrorMessage() { return errorMessage; }
    public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; }

    public String getCheckDetails() { return checkDetails; }
    public void setCheckDetails(String checkDetails) { this.checkDetails = checkDetails; }

    public LocalDateTime getCreatedTime() { return createdTime; }
    public void setCreatedTime(LocalDateTime createdTime) { this.createdTime = createdTime; }

    public String getExecutionStatusText() { return executionStatusText; }
    public void setExecutionStatusText(String executionStatusText) { this.executionStatusText = executionStatusText; }

    public String getDataRangeText() { return dataRangeText; }
    public void setDataRangeText(String dataRangeText) { this.dataRangeText = dataRangeText; }

    public String getDurationText() { return durationText; }
    public void setDurationText(String durationText) { this.durationText = durationText; }
}
